#ifndef IMAGECYCLER_H
#define IMAGECYCLER_H

#include <QWidget>
#include <QLabel>
#include <QTimer>
#include <QVector>
#include <QPixmap>
#include <QResizeEvent>


class ImageCycler : public QWidget
{
    Q_OBJECT
public:
    explicit ImageCycler(QWidget *parent = nullptr);
    
    // 设置图片路径列表
       void setImagePaths(const QVector<QString> &paths);
       
       // 添加单个图片路径
       void addImagePath(const QString &path);
       
       // 设置切换间隔(毫秒)
       void setInterval(int msec);
       
       // 开始循环
       void startCycle();
       
       // 停止循环
       void stopCycle();
       
       // 是否正在循环
       bool isCycling() const;
    
signals:
       // 状态变化信号
           void cycleStarted();
           void cycleStopped();
           void imageChanged(int index);
           
private slots:
    void onTimerTimeout();
    


private:
    void showCurrentImage();  // 显示当前图片（带自适应缩放）

    void resizeEvent(QResizeEvent *event) override;  // 添加重写大小事件


    QLabel *imageLabel;
    QTimer *cycleTimer;
    QVector<QString> imagePaths;
    int currentIndex=0;
    int interval=1000;
    
};

#endif // IMAGECYCLER_H
